User description based on contexts of location and time

ABSTRACT

A description of a user is estimated based on the context of a user&#39;s past and present locations. A disclosed data-processing system continually receives data points for each user that represent spatial and/or temporal events. These events represent, for example, presence of a person at a specific geographic location such as a geographic area or point of interest (POI). The data-processing system evaluates the received data points in relation to one or more of the geographic locations, yielding results that are also based on the demographic characteristics of each visited location and the commercial characteristics of each visited location. The data-processing system evaluates the data points also to determine patterns exhibited in each user&#39;s activity or inactivity, and patterns exhibited in the distance traveled and the type of travel. The data-processing system bases the user descriptions on the results of these evaluations.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 61/622,131, filed on 10 Apr. 2012, entitled “UserDescription Based on Location Context”, which is incorporated byreference herein.

FIELD OF THE INVENTION

The present invention relates to sensor analytics in general, and, moreparticularly, to describing a user based on one or more contexts oflocation and time.

BACKGROUND OF THE INVENTION

Global positioning system (GPS) and other position determining systemsare enabled in a wide variety of devices, including mobile phones,taxis, personal navigation devices, and automobiles. The proliferationof such enabled devices has resulted in an enormous amount of historicand real-time data being generated. The type of data generated typicallyconsists of a latitude, a longitude, a unique identifier and, in somecases, metadata.

The assessed location, or “geolocation,” provided by the positiondetermining systems can be used to deliver location-based services to auser. For example, location-based media (LBM) systems deliver multimediadirectly to the user of a mobile device dependent upon the device'sassessed location. Media sequences can be delivered to, or triggeredwithin, portable wireless devices that are location-enabled(location-aware) and have the capacity to display audiovisual content.Such content is managed and organized externally to the device. Themobile device then downloads formatted content with location-coordinatedtriggers applied to each media sequence. As the location-aware deviceenters a geographic area or region, the media sequence assigned to thatarea is triggered. The assigned media can be designed to be of optimalrelevance to the user in the context of the user's immediatesurroundings.

FIG. 1 depicts geographic view 100 in the prior art and illustrates anexample of the delivery of a location-based service. View 100 comprisesgeographic areas 102, 104, 106, and 108. Area 102 corresponds to thearea occupied by a city's train station. Areas 104 through 108correspond to various areas surrounding the train station. Persons 112,114, 116, and 118 are examples of different people presently within thetrain station area, who are carrying mobile devices. The locations ofpersons 112 through 118 are known through position determining equipment(PDE) that determines the geolocation of the mobile device carried byeach person.

By knowing the geolocation coordinates of each person 112 through 118and by knowing the boundary coordinates of areas 102 through 108, asystem of the prior art is able to infer that the four people arepresently at the train station. As a result, location-based services canbe provided to all of the people depicted, within the context of thepeople being presently at the train station.

SUMMARY OF THE INVENTION

The present geolocation of a person can be helpful in understanding theperson. Such static information, however, does not provide a uniquedescription of that person. For example, although four people might bepresently at the same train station, it is impossible to determinesolely from their current geolocation that i) the first person is astudent who is going to class, ii) the second is a commuter coming fromwork, iii) the third is a transit employee working at the train station,and iv) the fourth is a mother who is returning home from a day at themuseum with her children. Consequently, it might be inappropriate todeliver the same location-based services to all four people while onlyaccounting for their present assessed location. Using another example,although household census demographics are helpful in understanding thepeople who are living in specific geographic areas, such staticinformation similarly may not provide a sufficiently unique descriptionof each user.

The present invention enables a description of a user to be estimatedbased on the context of the user's past and present locations, and as afunction of time. The context of a user location can comprise, forexample, i) what the location is near (a park, a store, etc.), ii) whatthe population is in the location's vicinity (by income, by race, etc.),or iii) what action the user is taking at the particular moment thatcorresponds to a particular position determination (texting, tweeting,talking to another party, etc.). This is in contrast to at least sometechniques in the prior art, which only account for the context of thepresent location and at the present moment in time, as is the case ofthe four people in the aforementioned example.

In accordance with an illustrative embodiment of the present invention,a data-processing system continually receives data points that representspatial events or temporal events, or both. These events represent, forexample, presence of a person, thing, or object at each visitedlocation, as well as the times that the visits occurred. Such locationsinclude, while not being limited to, a geographic area that is based ona census tract or a geographic point of interest (POI) such as a placeof business.

The data-processing system evaluates each received data point bycomparing its represented gelocation against one or more geographicareas or geographic POIs, in order to determine whether the data pointfalls within the area or is near the POI, as appropriate. One or morecharacteristics specific to the area or POI are also considered; thesecharacteristics include, while not being limited to, demographic andcommercial categories and subcategories that can be provided from anexternal database. The data-processing system also evaluates the datapoints with respect to one another, in order to determine activity orinactivity patterns exhibited by the user and to determine patternsexhibited in the distance traveled and the type of travel. Thedata-processing system estimates a user description for that user, basedon compiling the results of one or more of the evaluations of the datapoints and characteristics.

The methods and system of the various embodiments described herein areadvantageous for a variety of reasons. The demographic contexts of thevarious places that a user visits, coupled with the time of day visited,impart information about a user's exposure to people and places.Similarly, the commercial contexts of the various places that a uservisits impart their qualities to the user, and the commercial exposuredefines the user's lifestyle. The context of various activity andinactivity patterns exhibited by a user over time, as well as the amountof activity, also impart useful information about a user. Lastly, thecontext of amount of distance traveled and the travel patterns exhibitedby a user over time impart useful information as well.

The information acquired about a user, which information comprisesvarious contexts (demographic, commercial, user inactivity, distancetraveled, etc.), becomes part of the user's description. Each userdescription can be made unique in relation to other users' descriptions,given a sufficient number of data points being evaluated andcharacteristics being considered as part of the estimated description.By estimating a unique description for each user, the system disclosedherein is able to distinguish, for example, i) the aforementionedstudent who is going to class, from ii) the commuter coming from work,from iii) the transit employee working at the train station, from iv)the mother who is returning home. In doing so, and by accounting formore than just the present assessed location of each user, the disclosedsystem is able to provide location-based, time-based, and otherevent-based services that are customizable to each user, based on eachuser's unique description. For example, based on the user descriptionsproduced by the disclosed system, a media delivery service is able todeliver i) a first customized advertisement to a first user and ii) asecond customized advertisement concurrently to a second user who isstanding next to the first user.

An illustrative embodiment of the present invention comprises:receiving, by a data-processing system, a plurality of data points Dthat correspond to a first user, wherein each of the data points in theplurality represents at least one of i) a spatial event and ii) atemporal event, and wherein the plurality comprises at least i) a firstdata point that occurs at a first time t₁, d(t₁), and ii) a second datapoint that occurs at a second time t₂, d(t₂); evaluating i) a firstcharacteristic c₁ for a first geographic area a₁ and for a secondgeographic area a₂, yielding a first value c₁(a₁) and a second valuec₁(a₂), respectively, ii) the first data point d(t₁) in relation to thefirst geographic area a₁, yielding a first result that is based on thefirst value c₁(a₁), and iii) the second data point d(t₂) in relation tothe second geographic area a₂, yielding a second result that is based onthe second value c₁(a₂); and estimating a description of the first user,wherein the description is based on the first result and the secondresult.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts geographic view 100 in the prior art.

FIG. 2 depicts a block diagram of the salient components of sensoranalytics system 200, in accordance with an illustrative embodiment ofthe present invention.

FIG. 3 depicts a block diagram comprising the salient elements ofdata-processing system 210, in accordance with an illustrativeembodiment of the present invention.

FIG. 4 depicts a flowchart of the salient tasks performed bydata-processing system 210, in accordance with an illustrativeembodiment of the present invention.

FIG. 5 depicts a flowchart of the salient subtasks of task 405.

FIG. 6 depicts a flowchart of the salient subtasks of task 410.

FIG. 7 depicts a flowchart of the salient subtasks of task 605.

FIG. 8 depicts an example of describing users in terms of theirdemographic exposure.

FIG. 9 depicts an example of describing users in terms of theircommercial exposure.

FIG. 10 depicts occurrences of events that are attributable to aparticular user, across a timeline.

FIG. 11 depicts a flowchart of the salient subtasks of task 615.

DETAILED DESCRIPTION

The following terms are defined for use in this Specification, includingthe appended claims:

-   -   The term “location,” and its inflected forms, is defined as a        zero-dimensional point, a one-dimensional line, a        two-dimensional area, or a three-dimensional volume. For        example, a location I_(i) can be a geographic point of interest        p_(i) or a geographic area a_(i).    -   The term “spatial-temporal (S-T) event,” or “event,” and its        inflected forms, is defined as any activity or occurrence that        can be identified by the location and/or time at which it        occurs. For example and without limitation, a spatial-temporal        event can represent the arrival or departure of a person(s),        animal(s), or product(s) to and/or from a specific geographic        location such as, but not limited to, a place of employment, a        transit terminal, a food store, a landmark, a shopping center, a        hospital, a residence, a street, town, city, state, country, or        any location determined by a global positioning system        (GPS)-enabled device or assessed by other position determining        equipment.    -   The term “spatial-temporal (S-T) data point,” or “data point,”        and its inflected forms, is defined as data or other information        that identifies a specific event, user, or device at a specific        location and/or time. For example and without limitation, a        spatial-temporal data point can include: a time stamp along with        a corresponding geographic location, such as, the time at a        latitude and longitude; a time stamp along with an indicium of a        specific event at a fixed geographic location, such as the time        of a special or sale at a store or entertainment venue;        measurement uncertainty information, such as the accuracy of the        position determination; the occurrence of an event or action at        a particular time and location, such as a taxi being full in the        warehouse district at 2:00 am, texting occurring, tweeting        occurring, etc.; details about a user communication, such as a        Short Message Service (SMS) text having been sent; or other        supplemental information. Data points originate from various        data sources that include, while not being limited to, a        location enabled device such as a cellular telephone, a GPS        enabled device, a networked device, a WiFi enabled device, a        radio-frequency identification (RFID)-enabled device, and an        automated teller machine (ATM) machine.    -   The term “unique identifier,” and its inflected forms, is        defined as any information that identifies a particular person,        device, object, event or place at a particular time, occurrence        or location. A unique identifier can be that of a location        enabled device such as a cellular telephone, a GPS enabled        device, a networked device, a WiFi enabled device, a        radio-frequency identification (RFID)-enabled device, an        automated teller machine (ATM) machine, or any other device that        identifies a spatial-temporal data point. A unique identifier        can also include a place or event that identifies a        spatial-temporal data point associated with that place or event.    -   The term “individualized data point,” and its inflected forms,        is defined as a spatial-temporal data point that is identified        with a unique identifier. An identifier is considered unique if        it is the only one of its kind within a defined address space,        such as that of a telecommunications system or network.

FIG. 2 depicts a block diagram of the salient components of sensoranalytics system 200, in accordance with an illustrative embodiment ofthe present invention. FIG. 2 depicts data-processing system 210;display 212; data store 214; and telecommunications network 220. Alsodepicted are: wireless telecommunications terminal 222; personalcomputer 224; personal digital assistant (PDA) 226; position determiningequipment (PDE) 228; and data store 230. The components depicted in FIG.2 are interconnected as shown.

As those who are skilled in the art will appreciate, after reading thisdisclosure, sensor analytics system 200 can comprise additionalcomponents that also provide sources and repositories of data, in someembodiments. Furthermore, in addition to the components depicted in FIG.2, sensor analytics system 200 can also be connected to externalcomponents that provide additional sources and repositories of data, insome embodiments.

Data-processing system 210 is a computer that comprises non-transitorymemory, processing component(s), and communication component(s), asdescribed in more detail in FIG. 2. Data-processing system 210 executesand coordinates the salient tasks of sensor analytics system 200according to an illustrative embodiment of the present invention. Forexample, data-processing system 210 receives, via network 220, spatialand/or temporal data from one or more of the data sources, as describedin detail below. Data-processing system 210 then analyzes the receiveddata as described below and with respect to the tasks depicted in FIGS.4 through 11. System 210 is able to send the results of the analysis touser devices (e.g., terminal 222, computer 224, PDE 226, etc.) forpresentation, export the results to display 212 separate from the userdevices, and/or store the results in data store 214 or 230. Althoughdepicted as a component that is separate from system 210, data store 214can alternatively be located in data-processing system 210's memory, insome embodiments.

Display 212 is an image display device. Display 212 receives videosignals conveying analysis results from data-processing system 210 anddisplays the signals in a manner that is visible to a user, inwell-known fashion.

Data store 214 is an electronic data storage device. Data store 214comprises non-transitory memory (e.g., a hard disk, etc.) that is usedby sensor analytics system 200 to store, archive, and retrieveinformation, in well-known fashion. For example, data store 214 receivessignals conveying video and/or analysis data from data-processing system210 and archives the data. Data store 214 can also transmit supplementalinformation data to data-processing system 210 in response to aretrieval request, in some embodiments. Data store 214 can also transmitarchived data to data-processing system 210 in response to a retrievalrequest, in some embodiments.

Telecommunications network 220 comprises a collection of links and nodesthat enable telecommunication between devices, in well-known fashion.Telecommunications network 220 provides sensor analytics system 200 withconnectivity to other systems that enable sensor analytics system 200 toretrieve data and also to transmit, store, and archive data as needed.In some embodiments, telecommunications network 220 is the PublicSwitched Telephone Network (PSTN); in some embodiments, network 220 isthe Internet; in some embodiments, network 220 is a private datanetwork. It will be clear to those with ordinary skill in the art, afterreading the present disclosure, that in some embodiments network 220 cancomprise one or more of the above-mentioned networks and/or othertelecommunications networks, without limitation. Furthermore, it will beclear to those will ordinary skill in the art, after reading thisdisclosure, that telecommunications network 220 can comprise elementsthat are capable of wired and/or wireless communication, withoutlimitation.

The user devices of sensor analytics system 200 include, but are notlimited to, electronic devices such as wireless telecommunicationsterminal 212, personal computer 224, and personal digital assistant 226.Terminal 212 can be, for example and without limitation: a mobile, acell phone, a smart phone, a cordless phone, and so on. Personalcomputer 224 can be, for example and without limitation: a desktopcomputer, a notebook computer, a tablet computer, and so on. The userdevices can include one or more program applications that are designedto interact with data-processing system 210 in order to facilitatepresentation of data to a user, for example and without limitation.

As those who are skilled in the art will appreciate, one or more of theuser devices can be global positioning system (GPS)-enabled or are atleast capable of providing an indication of a spatial and/or temporalevent occurring at the user device.

Position determining equipment (PDE) 228 identifies the location ofmobile devices, in well-known fashion. As those who are skilled in theart will appreciate, after reading this disclosure, PDE 228 is capableof determining the location of one or more of the other user devicesdepicted and of providing the location, with or without a timestamp todata-processing system 210. In doing so, PDE 228 is also capable ofproviding an indication of a spatial and/or temporal event occurring ata measured user device.

Data store 230 is capable of providing data related to spatial and/ortemporal events. The data provided by data store 230 may have originatedfrom other sources of data, such as terminal 222, computer 224, PDA 226,or PDE 228. In some embodiments, data store 230 is analogous to, andperforms the same functions as, data store 214 described above.

The data points provided to data-processing system 210 from theaforementioned devices can include information relating to and/oridentifying one or more particular events, users, or devices at acertain location and/or time. In accordance with an illustrativeembodiment of the present invention, the event can correspond to aspatial-temporal event. In some embodiments, the event can correspond toone or more environmental changes, such as a change in weather ortemperature. In some other embodiments, the event may correspond to auser activity, such as placing a phone call or purchasing an item eitherin person or through a network connected device. The event maycorrespond to public events or entertainment such as speeches, games,movies, dance shows, musicals, or sales promotions. In some embodiments,the event may correspond to a change in patterns, such as the onset of atraffic jam. In some other embodiments, the event may correspond to anelectronic device based activity, such as the startup of computerprogram application or login activity. Other electronic device-basedactivity may be identified as well.

In some embodiments, the data points received by data-processing system210 can include data provided from a wireless network-basedcommunication device such as terminal 222. Such data may include, but isnot limited to, i) the location of a particular cell phone within acellular network at a particular time and/or ii) the GPS location andtime data. Alternatively, or in addition, the data may include userinformation, such as a user identifier (ID) or an account ID associatedwith a particular device. The data originating at a communication devicecan be passed directly from the device or indirectly through anotherdevice such as PDE 228 or data store 230. In some embodiments, the datareceived by data-processing system 210 can be provided by a passivelocation-based service such as an ATM, which gives the location and/ortime of a unique user. This also can include RFID-enabled devices suchas RFID tags used for toll collection services, proximity cards, productand inventory tracking, and animal tracking and identification.Moreover, the data can include information that relates to the userdevice from which it is being provided, such as whether the device is acell phone, laptop, personal digital assistant or GPS-enabled device.

The data points may be provided to data-processing system 210 inreal-time as an event or activity occurs. For example, an RFID-enabledsystem may pass location and time data in real-time to data-processingsystem 210 when the RFID-enabled system is triggered by an RFID tag,such as those included in automobiles or proximity cards. Alternatively,or in addition, data may be provided from a data provider or dataaggregator. The data provider or data collector can collect the datapoints over a specified period prior to sending them to data-processingsystem 210. For example, PDE 228 or data store 230 may store, over aspecified time period, data that represents the occurrence of one ormore particular events that occur on a computing platform, such asoperating system startup, user login, or an application specificactivity. The stored data then may be provided to data-processing system210 periodically or sporadically according to a predetermined scheduleor at user-specified times.

In some embodiments, the data provided to data-processing system 210 caninclude demographic and/or commercial information. Such information canbe of a general nature or can be specifically associated with thelocations and/or times of one or more events and/or activities.

In some embodiments, data-processing system 210, in order to performsome of its functions, also communicates, coordinates, andelectronically interacts (wired or wirelessly as appropriate) withsystems outside of sensor analytics system 200.

It will be clear to those skilled in the art, after reading the presentdisclosure, that the system illustrated in FIG. 2 can be embodied indifferent variations that are consistent with the present invention. Forexample, some embodiments comprise several displays such as display 212for a plurality of users. For example, in some embodiments, data store214 and/or data store 230 each comprise a plurality of data stores or aplurality of data storage technologies (e.g., a cloud-based storagesystem, etc.). For example, in some embodiments, not all depictedcomponents are on-site. For example, in some embodiments, the depictedcomponents are interconnected indirectly (e.g., through servers,gateways, switches, networks, the Internet, etc.). In any event, it willbe clear to those skilled in the art, after reading the presentdisclosure, how to make and use sensor analytics system 200.

FIG. 3 depicts a block diagram comprising the salient elements ofdata-processing system 210, in accordance with an illustrativeembodiment of the present invention. Data-processing system 210comprises: processor 301; memory 302; transceiver 303; and communicationpaths to display 212, data store 214, and telecommunications network220, interconnected as shown.

Processor 301 is a processing device such as a microprocessor that, inconjunction with the other components in data-processing system 210, iscapable of executing the software and processing the data according tothe tasks described herein. Processor 301 processes data points andother data received via transceiver 303. After processing, it transmitsvideo signals to display 212 based on the processing results. Processor301 is well known in the art.

Memory 302 is non-transitory memory that stores program code and datasufficient to enable the execution of software and data processingaccording to the tasks recited herein. Memory 302 is well known in theart.

Transceiver 303 is a component that enables data-processing system 210to communicate electronically, whether in a wired or wirelessconfiguration, with other components internal and external to sensoranalytics system 200, including receiving data from telecommunicationsnetwork 220, such as data originating at the individual devicesconnected to network 220; and transmitting to and from data store 214and external systems via telecommunications network 220. Transceiver 303is well known in the art.

It will be clear to those skilled in the art, after reading the presentdisclosure, that data-processing system 210 can be embodied in adifferent configuration than that depicted, as a multi-processorplatform, as a server (e.g., application server, etc.), as asub-component of a larger computing platform, or in some other computingenvironment—all within the scope of the present invention. It will beclear to those skilled in the art, after reading the present disclosure,how to make and use data-processing system 210.

FIGS. 4 through 11 depict flowcharts and related examples of the salienttasks performed by data-processing system 210, in accordance with anillustrative embodiment of the present invention. The operationsperformed by system 210 are depicted in the drawings in a particularorder. It will, however, be clear to those skilled in the art afterreading this disclosure that such operations can be performed in adifferent order than that depicted or can be performed in anon-sequential order. For example, in certain circumstances,multitasking and parallel processing may be advantageous. Some or all ofthe depicted tasks can be combined, performed in a different order,performed by different devices. Some of the depicted tasks can beomitted.

Moreover, the separation of various components in the embodimentsdescribed herein should not be understood as requiring such separationin all embodiments. Furthermore, it will be clear to those skilled inthe art, after reading this disclosure, that the described programcomponents and systems can generally be integrated together in a singlesoftware product or packaged into multiple software products.

For pedagogical purposes, the tasks depicted in the flowcharts hereinare presented from the perspective of applying to a single user. Itwill, however, be clear to those skilled in the art, after reading thisdisclosure, that the performed operations can be applied to multipleusers, either concurrently and/or sequentially. Furthermore, thedepicted tasks can be repeated, either periodically and/or sporadically,for example in order to update the information that is processed for oneor more users.

FIG. 4 depicts a flowchart of the salient tasks performed bydata-processing system 210, as shown in FIG. 3, in accordance with anillustrative embodiment of the present invention.

At task 405, data-processing system 210 imports spatial-temporal (S-T)data points. The salient subtasks of task 405 are described below andwith respect to FIG. 5.

At task 410, system 210 estimates a description for a user, based on oneor more data points, or based on one or more characteristics, or both.Estimating such a description for each user, for example and withoutlimitation, allows users to be compared (e.g., to each other, to adatabase, etc.) and classified. The salient subtasks of task 410 aredescribed below and with respect to FIG. 6.

At task 415, system 210 exports the results of the estimate from task410 to one or more other devices. The other devices can be, for exampleand without limitation, display 212, data store 214, terminal 222,computer 224, PDA 226, PDE 228, and/or data store 230. In exporting theresults, system 210 transmits signals that convey the results inwell-known fashion.

In accordance with the illustrative embodiment, the disclosed system isable to provide location-based, time-based, and other event-basedservices that are customizable to each user, based on each user'sdescription estimate. For example, based on a user description specificto a particular user, the disclosed system may present an advertisementcustomized to that user. In addition or in the alternative, thedisclosed system may present an advertisement customized to a particularuser, based on one or more differences between that user's descriptionand one or more other user descriptions. The disclosed system maypresent the advertisement, for example, by transmitting a signal thatconveys the advertisement either directly to the user's device (e.g.,wireless terminal, personal computer, etc.) or to anotherdata-processing system.

FIG. 5 depicts a flowchart of the salient subtasks of task 405, inaccordance with an illustrative embodiment of the present invention.

At task 505, data-processing system 210 receives one or morespatial-temporal data points originating from a user device (i.e., datapoint set D consisting of data points d(t_(i)) occurring at differentpoints in time t_(i)). In some embodiments, system 210 receivesadditional data used for processing the data points. In importing thedata, system 210 receives signals that convey the data in well-knownfashion.

At task 510, system 210 associates a unique identifier with each rawdata point that is received, to obtain one or more individualized datapoints. Based on the information already contained within the datapoint, for example and without limitation, the unique identifier maycorrespond to a time stamp specifying a time the event occurred, alocation stamp specifying a location of where the event occurred, a userstamp identifying the particular user to which the event corresponds, ora device stamp identifying a particular device from which the event datais received.

At task 515, system 210 detects location data that exhibits problems andcorrects the data. The types of problems detected and corrected bysystem 210 include, but are not limited to: missing location data;duplicate records; observation gaps in time; forced snapping to discretelocations (e.g., roads, cell towers, arcs at a fixed distance from acell tower, etc.); out-of-range location points; bursty behavior;incorrect or truncated data; and/or “superhuman” travel (e.g., travelfaster than an airplane, etc.).

FIG. 6 depicts a flowchart of the salient subtasks of task 410, inaccordance with an illustrative embodiment of the present invention.

At task 605, data-processing system 210 evaluates one or more datapoints, in which a datum or data (e.g., latitude, longitude, timestamp,accuracy, metadata, identifier, etc.) that are represented by each datapoint, or information derived from these data (e.g., geolocation, timeof day, date, etc.), are evaluated against one or more of:

-   -   i. a geographic area or areas,    -   ii. a geographic point of interest or points of interest, and    -   iii. other data points.        Moreover, system 210 evaluates one or more characteristics or        other information against the areas and/or points of interest,        in order to evaluate the data points further. For pedagogical        purposes, the results of the evaluations are referred to as        “sufficient statistics.”

The salient subtasks of task 605 for generating the sufficientstatistics are described in detail below and with respect to FIG. 7,along with the aforementioned characteristics and relationships in bothtime and space between data points. In accordance with an illustrativeembodiment, each statistic generated is a precursor to a correspondinguser attribute that constitutes a user description. As such, thestatistics can be regarded as intermediate data between the receiveddata points and the user attributes that constitute the estimated userdescriptions.

At task 610, system 210 combines the sufficient statistics across time.In some embodiments, the time period across which the combining is totake place is configurable (e.g., one week, four weeks, etc.). Inaccordance with an illustrative embodiment, count data for a given userand a given spatial event (e.g., stadium, park, airport, etc.) is summedacross the time instances (e.g., each day in a week, etc.) that make upa time period (e.g., one week, etc.). In some alternative embodiments,the combining task can comprise a function other than a straight summingof the counts, as those who are skilled in the art will appreciate.

At this point in the processing, the data is still preserved at a userlevel, but is now summarized across time. For example and withoutlimitation, more recent statistics may be weighted more heavily thanolder statistics. In generating the statistics, system 210 reduces thequantity of the data to a tractable amount while still preserving enoughinformation to generate user descriptions, as described below. As thosewho are skilled in the art will appreciate, after reading thisdisclosure, various sufficient statistics can be summarized across timeto varying degrees with respect to one another, or not summarized acrosstime at all.

At task 615, system 210 generates user description estimates, in part bynormalizing and/or shrinking data that makes up each sufficientstatistic. The salient subtasks of task 615 are described later and withrespect to FIG. 11.

In a general sense, the process of going from the raw data being madeavailable to system 210 (prior to task 605) to generating a userdescription (in task 615), including the user description's individualuser attribute estimates, uses estimation theory techniques. Some of theactions performed by system 210 and associated with tasks 605, 610, and615 make up one such estimation technique. However, as those who areskilled in the art will appreciate, after reading this specification,various estimation techniques can be used in place of, or to modify,some or all of the processing associated with tasks 605, 610, and 615 asdescribed herein. For example, although there are other ways of system210 to perform the normalization and shrinkage associated with task 615,the system of the illustrative embodiment can perform an entirelydifferent set of tasks than normalization and shrinkage, in order togenerate the user attribute estimates.

The user attribute estimates of the illustrative embodiment are “pointestimates,” in that system 210 generates a single number for each userattribute. In some embodiments, however, system 210 generates an“interval estimate,” in that a specific confidence interval expressed interms of a percentage (e.g., 95%, etc.) is given for the user attributeestimated, thereby allowing the uncertainty of the estimate to bereflected.

FIG. 7 depicts a flowchart of the salient subtasks of task 605 forevaluating the data points of a user, in accordance with an illustrativeembodiment of the present invention. As described earlier, system 210performs these subtasks in order to generate sufficient statistics thatsystem 210 uses, in turn, to generate user descriptions.

In accordance with the illustrative embodiment, system 210 evaluates adata point by comparing the data that it represents to some compared-toproperty. For example and without limitation, the datum being evaluatedcan be a latitude/longitude geolocation. The compared-to property can bethe location of an area or point of interest. The comparison itself caninvolve determining whether the latitude/longitude of the data point iscontained within the area or whether it is near the point of interest.As those who are skilled in the art will appreciate, a compared-togeographic area can be represented in software by a polygon that isdefined by numeric coordinates that are stored in a memory. Based on theoutcome of the comparison (e.g., the compared condition being true),system 210 then increments the corresponding event count that is usedfor tracking.

System 210 also evaluates the relationship of one or more data pointswith respect to one another. For example and without limitation, system210 determines the user's usage gaps, which are based on the timedifferences between two or more data points of a user, and determinesthe user's distance traveled, which is a cumulative calculation of auser's distance traveled based on the geolocation information in theuser's data points.

For each evaluation of a data point, in some embodiments, system 210also evaluates one or more characteristics (i.e., {c₁, . . . , c_(H)} incharacteristic set C, wherein H is a positive integer) or otherinformation against the areas and/or points of interest. Specificexamples of such evaluations are described below. System 210, in someembodiments, also evaluates the data point for the time of day and/orthe calendar time (e.g., day, week, etc.) at which the correspondingevent occurred and maintains event counts based on the time of dayand/or the calendar time.

More specific examples and embodiments of the present invention are nowdiscussed. At task 705, system 210 evaluates one or more data points ofa user based on the user's demographic exposure—that is, the user'sexposure to people. The demographic contexts of the various places thata user visits, coupled with the time of day visited (or not), impartinformation about a user's exposure to people and places.

In accordance with the illustrative embodiment, the demographiccharacteristics are used to measure a user's exposure to each ofmultiple demographic categories, as are enumerated below, and accordingto different day parts (e.g., weekday day, weekday night, weekend day,and weekend night, etc.) and/or divisions of the week (e.g., 168“weekhours,” etc.). For each user, system 210 uses the demographiccharacteristics of the geographic areas (e.g., census blocks or tracts,etc.) that a user visits to determine a composite (e.g., an average,etc.) exposure description for that user on weekday days, weekdaynights, and so on. For example, a first characteristic c₁ such as“gender” can have different values when assessed for a second geographicarea a₂ and a third geographic area a₃ (i.e., represented as c₁(a₂) andc₁(a₃), respectively). In this example, the value for c₁(a₂) might be“40% male population,” and the value for c₁(a₃) might be “52% malepopulation.” System 210 ascertains the value of the particularcharacteristic for the particular area, and increments a count to theexposure to the characteristic.

In order to describe a user in terms of their demographic exposure,system 210 measures one or more characteristics in various demographiccategories, including and without limitation:

-   -   i. census age group (e.g., age 30-34, age 35-39, etc.);    -   ii. gender (male, female);    -   iii. income (e.g., $75K-<$100K, $100K-<$125K, etc.);    -   iv. race (e.g., White, Black, Asian, Hispanic, etc.);    -   v. educational enrollment (e.g., High School, College, Not        Enrolled, etc.);    -   vi. marital status (e.g., single, married with children, etc.);        and    -   vii. educational attainment—highest grade attained (e.g., High        School, College, etc).        In some embodiments, demographic exposure can also be measured        in terms of, while not being limited to: other Census Bureau        data, religion, ethnicity, national or regional origin,        employment, occupation, vocation, career, hobby interest, sexual        orientation, consumer preferences, consumer habits, or        organizational memberships and participation.

An example of describing users in terms of their demographic exposure,specifically with respect to the demographic category of “race,” isdepicted in FIG. 8. Over the period of interest, user 801 is seen movingalong path 811 through two geographic areas in area 800: census tract821 and, presently, census tract 822. Census tract 821 has a demographicprofile by category group of 10% White, 10% Black, and 80% Hispanic.Census tract 822 has a demographic profile of 70% White, 5% Black, 5%Asian, and 20% Hispanic. Assuming an equal number of pings (i.e.,spatial-temporal events) in each visited census tract, on average user801 has a demographic exposure of 40% White, 7.5% Black, 2.5% Asian, and50% Hispanic. In contrast, more pings occurring in tract 821 than intract 822 would weight the exposure assessment more toward thedemographic profile associated with tract 821, and vice-versa, in someembodiments. In describing user 801, system 210 updates thecorresponding user attributes (e.g., Demographic Exposure to CategoryGroup 1, Weekday Day; Demographic Exposure to Category Group 2, WeekdayEvening, etc.) for the user, in accordance with the illustrativeembodiment.

Meanwhile, over the period of interest, user 802 is seen moving alongpath 812 through two other geographic areas in area 800: presently incensus tract 823 and, earlier, in census tract 824. Census tract 823 hasa demographic profile by category group of 10% White, 30% Black, 40%Asian, and 20% Hispanic. Census tract 824 has a demographic profile of80% White, 5% Asian, and 15% Hispanic. Assuming an equal number of pingsin each visited census tract, on average user 802 has a demographicexposure of 45% White, 15% Black, 22.5% Asian, and 17.5% Hispanic. Indescribing user 802, system 210 updates the corresponding userattributes (e.g., Demographic Exposure to Category Group 1, Weekday Day;Demographic Exposure to Category Group 2, Weekday Evening, etc.) for theuser, in accordance with the illustrative embodiment.

In a variation of the above example, system 210 combines demographicexposures in a different way, namely by hour-groups of pings instead ofby a straight number of pings. First, system 210 groups pings intogroups by hour. Once grouped, every ping in an hour group of size G willget weight 1/G in the average. In other words, three pings in first hourwill each get weight one-third, and two pings in the second hour willeach get weight one-half. The resulting effect is that if there are twopings occurring in tract 821 in first hour and one ping in track 822 inthe second hour, the same result would be obtained as if there were ninepings in tract 821 in first hour and three pings in tract 822 in secondhour.

At task 710, system 210 evaluates one or more data points of a userbased on the user's commercial exposure—that is, the user's exposure tobusiness and commercial areas. In accordance with the illustrativeembodiment, commercial exposure measures each user's exposure to variouscategories of businesses over time. The interpretation of commercialexposure is similar to that of demographic exposure, in that thecommercial context of the places that a user visits, coupled with thetime of day visited (or not), impart their qualities to the user.

In accordance with the illustrative embodiment, system 210 measurescommercial exposure to each of numerous North American IndustryClassification System (NAICS) commercial categories, as are known in theart. System 210 measures exposure to a particular geographic point ofinterest, or “POI” as is known in the art, when a user's location is inproximity to the POI. System 210 then ascertains the specific value forthe characteristic c_(i) of interest (e.g., “automobile dealer”, “bedstore,” etc.) for the particular POI p_(i), and increments a count tothe exposure to the category value. In some embodiments, system 210presents commercial exposure-based characteristics as a percentage“rate” such that the exposures are between 0 and 100. If there aremultiple points of interest nearby, within the accuracy of the positiondetermination or meeting other proximity-determining criteria, system210 considers all exposures as valid.

System 210 measures commercial exposure distinctly in the followingcommercial categories and without limitation:

-   -   i. Commercial exposure to each of J NAICS codes;    -   ii. Commercial exposure to each of K restaurant types;    -   iii. Commercial exposure to each of L cuisine types; and    -   iv. Commercial exposure to each of M top chains (e.g., Circle K,        Starbucks, etc.),        wherein J, K, L, and M are positive integers. System 210 tracks        commercial exposure to NAICS codes such as, for example and        without limitation: automobile dealers, new only or new and        used; all-terrain vehicle (ATV) dealers; bed stores, retail;        quick-lube shops; undercoating shops, automotive; and wind and        water erosion control agencies, government.

An example of describing users in terms of their commercial exposure,specifically with respect NAICS category, is depicted in FIG. 9. Overthe period of interest, users 901 through 905 can be seen throughoutarea 900. Some users (i.e., users 901, 902, and 905) have moved duringthe period of interest (along paths 911, 912, and 915, respectively)while some users have not (i.e., users 903 and 904). Also depicted arethe locations of businesses 921 through 929. For illustrative purposes,each business location can be considered as having an associated area ofproximity (i.e., proximity areas 931 through 939, respectively), whichis defined to be the area within which the user is considered to be atthe POI.

As those who are skilled in the art will appreciate after reading thisspecification, a user can be considered to be at or near a POI based ona variety of criteria. For example and without limitation, the area ofproximity can be related to the uncertainty (e.g., accuracy) of theposition determination. The area of proximity can be configured(engineered) ahead of time as a specified distance to the POI. The areaof proximity can be made uniform or non-uniform, in shape and/or inarea, as shown in the drawing. In some embodiments, the user's devicecan be considered to be at or near one or more POIs when its position iswithin a specified distance (e.g., 50 meters, etc.) of each POI that thedata point is evaluated against. In some other embodiments, system 210can find the P closest points and determine the POI or POIs based on aweighting of the distances.

As can be seen in FIG. 9, each user's present location and path ischaracterized as having been exposed to one or more businesses, asdefined by their areas of proximity. More specifically, each user can bedescribed as having been exposed to specific NAICS categories (i.e.,corresponding to the business locations depicted), where the user'sdescription can be further shaped based on the relative number of pingsassociated with each NAICS category that the user was exposed to. Indescribing each user, system 210 updates the corresponding userattributes (e.g. Exposure Rate to Business Category 1, Exposure Rate toBusiness Category 2, etc.) for the user, in accordance with theillustrative embodiment of the present invention.

As with the concept of demographic exposure described earlier and withrespect to FIG. 8, system 210 can apply normalization by hour-group alsoto commercial exposure, in some embodiments. In other words, instead ofincrementing ping counts by one for every ping exposed, system 210 canincrement by 1/G, wherein G is the number of pings in that hour-group.

Furthermore, system 210 can use an additional level of normalization inthe case of commercial exposure. In particular, system 210 canoptionally normalize at the ping level. For example, if a single ping isexposed to 10 places (e.g., 10 businesses adjacent to one another,etc.), then instead of incrementing the counters associated with each ofthose 10 places by one, system 210 increments each counter by one-tenth.This has the effect of spreading the weight equally among the places insituations where it is unclear which specific place out of the ten theuser actually visited. In another variation, system 210 accounts forboth hour-group and the 10 adjacent places by normalizing using thefactor 1/(10*G). In yet another variation, system 210 can spread out theweight from a single ping in other ways, such as in proportion to thedistance between the location and the POI, or in proportion to theoverall popularity of that POI based on data from another source.

At task 715, data-processing system 210 evaluates one or more datapoints of a user based on amount and pattern of activity, as well asinactivity. The context of various activity and inactivity patterns, aswell as the amount of activity, exhibited by a user over time impartuseful information about a user.

In accordance with the illustrative embodiment, system 210 tracks auser's activity. In accordance with an illustrative embodiment, eachactivity-related event count measures the number of user S-T events in aparticular weekhour, and reports a relative weekhour activity based onthe total activity across all weekhours. For each user, system 210tracks one event count per each weekhour in a week (i.e., weekhour 1count through weekhour 168 count). In some other embodiments, system 210can track user activity based on some other partitioning across time.

Additionally, system 210 tracks specific types of user events or actionsoccurring, which are derivable from the event-related information thatis available in the received data points and which have correspondingtime and location information. Such events or actions that can betracked include, while not being limited to, a taxi cab being full inthe warehouse district at 2:00 am, texting occurring, tweetingoccurring, and so on. As those who are skilled in the art willappreciate, after reading this disclosure, system 210 can track othertypes of events or actions.

In accordance with the illustrative embodiment, data-processing system210 also tracks a user's inactivity (in contrast to “activity”), whichis inferred from usage gaps in the data points received for a user. Suchgaps are continuous time periods when a user is completely inactive,from a spatial-temporal event perspective. A usage gap is defined as thedifference of time (e.g., in seconds, etc.) between two consecutiveevents, manifested as data points d(t_(i)) and d(t_(i+1)) representingthe user. System 210 measures the length of each gap and characterizesthe gap into one of N buckets, wherein N is a positive integer. There isone usage characteristic per usage gap “bin,” corresponding to the countof gaps observed for that bin length. As those who are skilled in theart will appreciate, after reading this disclosure, the value of N canbe selected in order to provide a good balance between sufficientresolution and having too many individual characteristics to track.

For example and as depicted in FIG. 10, occurrences of events that areattributable to a particular user are shown as pings 1001 through 1006across timeline 1000. Gaps in time exist between consecutive pings. Inaccordance with the illustrative embodiment, data-processing system 210measures the length of each gap (i.e., determines the time differencebetween consecutive pings), characterizes the gap into one of the Nbuckets, and updates the corresponding count and/or percentage rate.Different gap patterns and/or ping patterns, such as those depicted inFIG. 10, can be used in support of estimating a description of a user.

At task 720, system 210 evaluates one or more data points of a userbased on the user's distance traveled and travel patterns. The contextof amount of distance traveled and the travel patterns exhibited by auser over time impart useful information about a user.

In accordance with the illustrative embodiment, system 210 tracks auser's distance traveled, by measuring the sum of distance traveledbetween consecutive S-T events per unit time (e.g., per week, etc.).System 210 calculates distance-related event counts, on the bases ofdaytime, evening, and nighttime hours. In addition, system 210calculates the median, standard deviation, and mean distance betweenconsecutive S-T events per hour, on the bases of daytime, evening, andnighttime hours.

System 210 also tracks a user's travel patterns. In accordance with theillustrative embodiment, system 210 counts the number of places visited.System 210 also determines the entropy of travel, where entropy is astatistical measure of randomness. High entropy is associated with auniform number of visits to different places. Low entropy is associatedwith a high number of visits to a small number of places, with lowvisits to other places.

System 210 also tracks the number of S-T event occurrences having validlocation data used in the calculation of each distance-traveled countand travel count.

FIG. 11 depicts a flowchart of the salient subtasks of task 615 forgenerating a user description estimate, in accordance with anillustrative embodiment of the present invention. As discussed above andwith respect to FIG. 6, in some embodiments system 210 uses estimationtheory techniques that are different from those described below.

At task 1105, system 210 normalizes the statistics. For example, thenormalization allows for the comparison of subscribers with differentspatial-temporal (S-T) event counts or observation periods, or both, andenables more accurate comparison across users with different counts oflocation observations. In accordance with an illustrative embodiment,system 210 normalizes at least some of the statistics by convertingevent “counts” to “rates” (e.g., occurrences as a function of time,percentage out of total occurrences, etc.). In some alternativeembodiments, another technique can be used to normalize the statistics.In still some other embodiments, normalization can be disabled.

At task 1110, system 210 statistically shrinks the normalizedstatistics. Shrinking, as is known in the art, is performed to addresscertain users with sparse data, with the effect that users with littleinformation will in effect look like the average user. In accordancewith an illustrative embodiment, system 210 performs a weighted average,based on the number of observations for the user, of the user'sinitial-characteristic value and the overall average-characteristicvalue. In some alternative embodiments, another technique can be used toshrink the statistics. In still some other embodiments, shrinking can bedisabled.

At task 1115, system 210 creates one or more user description estimatesfrom the normalized and shrunk statistics derived from the received datapoints. In accordance with the illustrative embodiment of the presentinvention, a user's description comprises one or more of the possiblynormalized and/or shrunk evaluation results (e.g., event counts, etc.)described above and with respect to FIGS. 7 through 10, in anycombination of said results. In some embodiments, a user descriptioncomprises user attributes that are represented as numbers describingbehavior of the user. For example and without limitation, a userdescription can be represented as a collection of counts and othernumeric information (e.g., rates, etc.) that describe a user, in whicheach count or rate, such as the counts or rates described above,represents a different user attribute. Being composed of a collection ofcounts or rates, in some embodiments, the user description can berepresented in a spreadsheet (e.g., in a particular row or columncorresponding to a particular user, etc.) or stored in a database. Asthose who are skilled in the art will appreciate, after reading thisspecification, other representations of the individual data that composea user description are possible and other representations of the userdescription as a whole are possible.

Embodiments of the subject matter and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe subject matter described in this specification can be implemented asone or more computer program products—that is, one or more modules ofcomputer program instructions encoded on a computer-readable medium forexecution by, or to control the operation of, a data-processing system.The computer-readable medium can be a machine-readable storage device, amachine-readable storage substrate, a memory device, or a combination ofone or more of them. The term “data-processing system” encompasses allapparatus, devices, and machines for processing data, including by wayof example a programmable processor, a computer, or multiple processorsor computers. The data-processing system can include, in addition tohardware, code that creates an execution environment for the computerprogram in question, such as code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, or acombination of one or more of them.

It is to be understood that the disclosure teaches just one example ofthe illustrative embodiment and that many variations of the inventioncan easily be devised by those skilled in the art after reading thisdisclosure and that the scope of the present invention is to bedetermined by the following claims.

What is claimed is:
 1. A method comprising: receiving, by adata-processing system, a plurality of data points D that correspond toa first user, wherein each of the data points in the pluralityrepresents at least one of i) a spatial event and ii) a temporal event,and wherein the plurality comprises at least i) a first data point thatoccurs at a first time t₁, d(t₁), and ii) a second data point thatoccurs at a second time t₂, d(t₂); determining a difference in timebetween a first time that is represented by the first data point d(t₁)and a second time that is represented by the second data point d(t₂);evaluating i) a first characteristic c₁ for a first geographic locationI₁, yielding a first value c₁(I₁), and ii) the first data point d(t₁) inrelation to the first geographic location I₁, yielding a first resultthat is based on the first value c₁(I₁); and estimating a description ofthe first user, wherein the description is based on i) the determineddifference in time and ii) the first result.
 2. The method of claim 1wherein the first geographic location I₁ is a geographic area.
 3. Themethod of claim 1 wherein the first geographic location I₁ is ageographic point of interest.
 4. The method of claim 3 whereinevaluating the first data point d(t₁) comprises determining proximity ofa geolocation represented by d(t₁) to the geographic point of interestrepresented by the first geographic location I₁.
 5. The method of claim1 further comprising assessing inactivity of the first user based on thedifference in time between d(t₁) and d(t₂), wherein d(t₁) and d(t₂)represent a pair of consecutive events, and wherein the description ofthe first user is based also on the inactivity.
 6. The method of claim 5wherein assessing inactivity comprises assigning the pair of consecutiveevents to a predetermined bin.
 7. The method of claim 6 wherein thepredetermined bin is one of a plurality of bins for tracking userinactivity.
 8. The method of claim 1 further comprising: determining adifference in geolocation between a first geolocation that isrepresented by the first data point d(t₁) and a second geolocation thatis represented by the second data point d(t₂); wherein the descriptionof the first user is also based on the determined difference ingeolocation.
 9. The method of claim 8 further comprising assessingdistance traveled of the first user based on the difference ingeolocation between d(t₁) and d(t₂), wherein the description of thefirst user is based also on the distance traveled.
 10. The method ofclaim 9 wherein d(t₁) and d(t₂) represent a pair of consecutive events.11. A method comprising: receiving, by a data-processing system, aplurality of data points D that correspond to a first user, wherein eachof the data points in the plurality represents at least one of i) aspatial event and ii) a temporal event, and wherein the pluralitycomprises at least i) a first data point that occurs at a first time t₁,d(t₁), and ii) a second data point that occurs at a second time t₂,d(t₂); determining a difference in geolocation between a firstgeolocation that is represented by the first data point d(t₁) and asecond geolocation that is represented by the second data point d(t₂);evaluating i) a first characteristic c₁ for a first geographic locationI₁, yielding a first value c₁(I₁), and ii) the first data point d(t₁) inrelation to the first geographic location I₁, yielding a first resultthat is based on the first value c₁(I₁); and estimating a description ofthe first user, wherein the description is based on i) the determineddifference in geolocation and ii) the first result.
 12. The method ofclaim 11 wherein the first geographic location I₁ is a geographic area.13. The method of claim 11 wherein the first geographic location I₁ is ageographic point of interest.
 14. The method of claim 13 whereinevaluating the first data point d(t₁) comprises determining proximity ofthe first geolocation represented by d(t₁), to the geographic point ofinterest represented by the first geographic location I₁.
 15. The methodof claim 14 wherein determining the proximity to the geographic point ofinterest comprises weighting the distances of the first geolocation tomultiple points of interest.
 16. The method of claim 11 furthercomprising assessing distance traveled of the first user based on thedifference in geolocation between d(t₁) and d(t₂), wherein thedescription of the first user is based also on the distance traveled.17. The method of claim 16 wherein d(t₁) and d(t₂) represent a firstpair of consecutive events.
 18. The method of claim 17 wherein assessingthe distance traveled comprises summing i) the difference in geolocationof the first pair of consecutive events and ii) a difference ingeolocation of a second pair of consecutive events, wherein d(t₂) isalso an event in the second pair.
 19. The method of claim 16 wherein thedescription of the first user is also based on time of day.
 20. A methodcomprising: receiving, by a data-processing system, a plurality of datapoints D that correspond to a first user, wherein each of the datapoints in the plurality represents at least one of i) a spatial eventand ii) a temporal event, and wherein the plurality comprises at leasti) a first data point that occurs at a first time t₁, d(t₁), and ii) asecond data point that occurs at a second time t₂, d(t₂); determining alevel of entropy of the plurality of data points D, wherein the level ofentropy characterizes a randomness of the plurality; evaluating i) afirst characteristic c₁ for a first geographic location I₁, yielding afirst value c₁(I₁), and ii) the first data point d(t₁) in relation tothe first geographic location I₁, yielding a first result that is basedon the first value c₁(I₁); and estimating a description of the firstuser, wherein the description is based on i) the determined level ofentropy and ii) the first result.
 21. The method of claim 20 wherein thefirst geographic location I₁ is a geographic area.
 22. The method ofclaim 20 wherein the first geographic location I₁ is a geographic pointof interest.
 23. The method of claim 20 wherein evaluating the firstdata point d(t₁) comprises determining proximity of a geolocationrepresented by d(t₁) to the geographic point of interest represented bythe first geographic location I₁.
 24. The method of claim 20 whereindetermining the level of entropy comprises determining whether the firstdata point d(t₁) and the second data point d(t₂) correspond to differentplaces visited by the first user.
 25. The method of claim 24 whereindetermining the level of entropy further comprises tracking the numberof places visited by the first user.
 26. The method of claim 20 furthercomprising assessing inactivity of the first user based on thedifference in time between d(t₁) and d(t₂), wherein d(t₁) and d(t₂)represent a pair of consecutive events, and wherein the description ofthe first user is based also on the inactivity.
 27. The method of claim26 wherein assessing inactivity comprises assigning the pair ofconsecutive events to a predetermined bin.
 28. The method of claim 27wherein the predetermined bin is one of a plurality of bins for trackinguser inactivity.